//Implementation class - Figure.h

#include "Figure.h"

Figure::Figure(  ) {
        vertexList = new Lista<PV>;
        type = Circle;
        radio = 0;
};

Figure::Figure( TType typ ){
        vertexList = new Lista<PV>;
        type = typ;
        radio = 0;
};

Lista<PV>* Figure::getVertex(  ){
         return vertexList;
};

TType Figure::getType(  ){
        return type;
};

PV Figure::getCenter(  ){
        return center;
};

float Figure::getRadio(  ){
        return radio;
};

void Figure::setRadio(  float r  ){
        radio = r;
};

void Figure::setType(  TType typ  ){
        type = typ;
};

void Figure::setCenter( float x , float y ){
        center.setxy( x , y );
};

void Figure::draw(  ){
        if(!getVertex(  )->vacia(  )){
                getVertex(  )->inicia(  );
                glBegin( GL_POLYGON );
                        for(int i=0; i<getVertex(  )->getLongitud(  );i++){
                                glVertex2f(getVertex(  )->getActual(  )->getx(  ),getVertex(  )->getActual(  )->gety(  ));
                                vertexList->avanza(  );
                        }
                glEnd();
         }
};
